function listAvailableTracks() { if ($(".player_box_list").hasClass('musicHide')) { $(".player_box_list").removeClass('musicHide'); $(".player_box_list").addClass('musicShow'); } else if ($(".player_box_list").hasClass('musicShow')) { $(".player_box_list").removeClass('musicShow'); $(".player_box_list").addClass('musicHide'); } } function setTrackUrl(track) { var selectedUrl = $(".trackListing_"+track).attr("data-trackUrl"); $("#jplayer_track_preview").jPlayer("setMedia", { mp3: selectedUrl }).jPlayer("play"); } $(function () { initMusicPlayers(); }); $('#frm_tracks').on('click', '.play', function (e) { e.preventDefault(); // var track_id = $(this).data('track_id'); if ($(this).hasClass('fa-play')) { $('#jplayer_track_preview').jPlayer("play"); } else { $('#jplayer_track_preview').jPlayer("pause"); } }); function initMusicPlayers() { $('.track_listing_play_buttons').each(function () { var trackUrl = $(this).data('trackurl'); var playButton = this; createAudioSeekbar('#jplayer_track_preview', { ready: function (event) { $(this).jPlayer("setMedia", { mp3: trackUrl }); }, play: function () { // To avoid multiple jPlayers playing together. $(this).jPlayer("pauseOthers"); $(playButton).removeClass('fa-play').addClass('fa-pause'); }, pause: function () { $(playButton).removeClass('fa-pause').addClass('fa-play'); }, swfPath: "assets/plugins/jplayer", wmode: "window", globalVolume: true, useStateClassSkin: true, autoBlur: false, smoothPlayBar: true, keyEnabled: true }); }); } // this is custom wrapper function which automaticcally fills the required html inside an element before initializing jPlayer with only seek bar without controls function createAudioSeekbar(element, jPlayeroptions) { var cssSelectorAncestor = 'cssSelectorAncestor_' + uuid4(); jPlayeroptions.cssSelectorAncestor = '#' + cssSelectorAncestor; $('
').insertAfter(element); $(element).jPlayer(jPlayeroptions); } // to create a random uuid function uuid4() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }); }